<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>EGCS 1.1 Caveats</title>
<link rel="stylesheet" type="text/css" href="https://gcc.gnu.org/gcc.css" />
</head>
<body>
<h1>EGCS 1.1 Caveats</h1>

<ul>
  <li>EGCS has an integrated libstdc++, but does not have an integrated libg++.
  Furthermore old libg++ releases will not work with EGCS; HJ Lu has made a 
  libg++-2.8.1.2 snapshot available which may work with EGCS.
  <br />Note most C++ programs only need libstdc++.</li>

  <li> Exception handling may not work with shared libraries, particularly
  on alphas, hppas, rs6000/powerpc and mips based platforms.  Exception
  handling is known to work on x86-linux platforms with shared libraries.</li>

  <li> Some versions of the Linux kernel have bugs which prevent them
  from being compiled or from running when compiled by EGCS.  See
  the FAQ (as shipped with EGCS 1.1)
  for additional information.</li>

  <li> In general, EGCS is more rigorous about rejecting invalid C++ code
  or deprecated C++ constructs than g++-2.7, g++-2.8 or EGCS 1.0.  As a result
  it may be necessary to fix C++ code before it will compile with EGCS.</li>

  <li>G++ is also converting toward the ISO C++ standard; as a result code
  which was previously valid (and thus accepted by other compilers and older
  versions of g++) may no longer be accepted.</li>

  <li>EGCS 1.1 compiled C++ code is not binary compatible with EGCS 1.0.x
  or GCC 2.8.x due to changes necessary to support thread safe exception
  handling.</li>
</ul>

</body>
</html>
